<?php
ob_start();
require_once('../zAPI/properties.inc.php');
require_once( ROOT_CLASS . 'MPDF/mpdf.php' );
require_once( ROOT_CLASS . 'Kernel.class.php');
require_once( $kernel->getClass("Util") );
require_once( $kernel->getClass("BusinessObject") );
require_once( ROOT_CLASS . 'DataObject/MovimentoCaixaDO.class.php');
require_once( ROOT_DATA_OBJECT . 'DataObject.class.php');

class RelatorioController{
	
	function gerarRelatorioFinanceiro($instanceDB, $postRequest, $getRequest){
		
		$movimentoCaixaBO = new MovimentoCaixaBO();
		
		$codigoProjeto = $getRequest["Projeto_codigo"];
		$codigoDotacao = $getRequest["Dotacao_codigo"];
		$dataInicio = $getRequest["dataInicio"];
		$dataFim = $getRequest["dataFim"];
		
		$prestacao = $movimentoCaixaBO->listarMovimentosCaixa($instanceDB, $limit, $start, $codigoProjeto, $codigoDotacao, $dataInicio, $dataFim);
				
		$dataObject = new DataObject();
		$dataObject = $prestacao["object"];
		$kernel = new Kernel();
		$html = "";

		
		
		$html .= '<table align="center" width="100%" class="top">
					<tr>
						<td width="20%" align="center" valign="top" height="70"><img src="../img/logo_relatorio.png" alt="" border="0"></td>
						<td width="60%" align="center" valign="top"><div style=""><span class="tituloRelatorio">' . utf8_decode("Fluxo de Caixa") . '</span><br><span><b>' . utf8_decode("Movimentações") .'</b></span></div></td>
						<td width="20%" valign="top" align="right" class="estiloData"><div class="estiloData">Data: '.date('d/m/Y').'<br>Hora: '.date('H:m').'</div></td>
					</tr>
				</table>';
		
		
		
		if((isset($getRequest["Projeto_codigo"]) && $getRequest["Projeto_codigo"] != "") || ((isset($getRequest["dataInicio"]) && $getRequest["dataInicio"] != "") &&  (isset($getRequest["dataFim"]) && $getRequest["dataFim"] != "")) || (isset($getRequest["Dotacao_codigo"]) && $getRequest["Dotacao_codigo"] != "")){
			
			$html .= '<table align="center" width="100%" class="projeto">
						<tr>';
							
							$html .= '<td width="50%" class="tituloProjeto">';
							
							if(count($dataObject) !=  0){
								
							
							
								if(isset($getRequest["Projeto_codigo"]) && $getRequest["Projeto_codigo"] != ""){
									$html .= utf8_decode($dataObject[0]->get("Projeto_nome"));				
									
								}
								
								if((isset($getRequest["Dotacao_codigo"]) && $getRequest["Dotacao_codigo"] != "") && (isset($getRequest["Projeto_codigo"]) && $getRequest["Projeto_codigo"] != "")){
									$html .= " | ";
								}
									
								if(isset($getRequest["Dotacao_codigo"]) && $getRequest["Dotacao_codigo"] != ""){
									$html .= utf8_decode("Dotação: ") . $dataObject[0]->get("Dotacao_nome"); 
								}
							
							}
								
							$html .= '</td>';
							
							if((isset($getRequest["dataInicio"]) && $getRequest["dataInicio"] != "") && (isset($getRequest["dataFim"]) && $getRequest["dataFim"] != "")){
								$html .= '<td width="50%" align="right"><b>' . utf8_decode("Período:").'</b>' . utf8_decode(" de " . $kernel->sqlDateToString($getRequest["dataInicio"]) . " a " . $kernel->sqlDateToString($getRequest["dataFim"]) . "") . '</td>';
							}
						$html .= '</tr> 
					</table>';
		}
		
		
		$html .= '<table class="tabelaRelatorio" cellspacing="0" cellpadding="5" width="100%">
					<tr>
					    <td><b>' . utf8_decode("Tipo") . '</b></td>
					    <td><b>' . utf8_decode("Pessoa Movimento") . '</b></td>';
		
						if(!isset($getRequest["Projeto_codigo"]) || $getRequest["Projeto_codigo"] == ""){
							$html .= '<td><b>' . utf8_decode("Projeto") . '</b></td>';
						}
						
						if(!isset($getRequest["Dotacao_codigo"]) || $getRequest["Dotacao_codigo"] == ""){
			  				$html .= '<td><b>' . utf8_decode("Dotação") . '</b></td>';
						}
						
			  $html .= '<td><b>' . utf8_decode("Descrição") . '</b></td>
					    <td><b>' . utf8_decode("Data") . '</b></td>
					    <td><b>' . utf8_decode("Valor") . '</b></td>
					</tr>';
					
					
					for($i=0; $i < count($dataObject); $i++){
					
					$tipoOperacao = $dataObject[$i]->get("tipo");

					if($tipoOperacao == 'D'){
						$color = 'red';
						$nomeTipo = "Débito";
						$symbolType = "-";
					}else if($tipoOperacao == 'C'){
						$color = 'green';
						$nomeTipo = "Crédito";
						$symbolType = "+";
					}
						
					$html .= '<tr>
							    <td style="color:' .$color.'">'.utf8_decode($nomeTipo).'</td>
							    <td>'.$dataObject[$i]->get("Pessoa_nome").'</td>';
					
							    if(!isset($getRequest["Projeto_codigo"]) || $getRequest["Projeto_codigo"] == ""){

							    	$html .= '<td>'.$dataObject[$i]->get("Projeto_nome").'</td>';
							    	
							    }
							    
								if(!isset($getRequest["Dotacao_codigo"]) || $getRequest["Dotacao_codigo"] == ""){

							    	$html .= '<td>'.$dataObject[$i]->get("Dotacao_nome").'</td>';
							    	
							    }
							    
					  $html .= '<td>'.$dataObject[$i]->get("descricao").'</td>
							    <td>'. $kernel->sqlDateToString($dataObject[$i]->get("dataMovimentacao")) .'</td>
							    <td style="color:' .$color. '">'.$symbolType . number_format($dataObject[$i]->get("valorOperacao"), 2, ',', '.') .'</td>
							</tr>';
					}
				
		$html .= '</table>';
		
		
		$html = utf8_encode($html); 

		
		$mpdf = new mPDF();
		$mpdf->allow_charset_conversion=true;  
		$mpdf->charset_in='utf-8';  
		
		$stylesheet = file_get_contents('../css/estiloPDF.css');
		
		//$mpdf->debug = true;
		//$mpdf->allow_output_buffering = true;
		
		
		$mpdf->WriteHTML($stylesheet,1);
		$mpdf->WriteHTML($html);
		$mpdf->Output();
	}
	
	/*
	function relatorioTeste(){
		
		$html = '<b>Teste</b>';
		$mpdf = new mPDF();
		//$mpdf->debug = true;
		//$mpdf->allow_output_buffering = true;
		
		$mpdf->WriteHTML($html);
		$mpdf->Output();
	}
	*/
	
}



?>